#ifndef	__texture_h__
#define	__texture_h__

#include "inccommon.h"
#include "utility/image.h"

namespace rtMath { class vec2; class vec3; };

class Texture
{
public:
	Texture();
	virtual ~Texture();

	bool				LoadFromFile(const rtString& fileName);
	const rtString&		GetName(void) const;
	const void*			GetDataPtr(void) const;
	uint32				GetWidth(void) const;
	uint32				GetHeight(void) const;
	rtMath::vec4		SamplePoint(const rtMath::vec2& st) const;
	rtMath::vec4		SampleBilinear(const rtMath::vec2& st) const;

private:
	Image*			m_Image;
	rtString		m_Name;
};

#endif	// __texture_h__
